package com.ktgj.customer.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.flight.api.domain.FlightOrderInfoTicketsApi;
import com.ktgj.service.api.domain.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 行程定制对象 itinerary
 * 
 * @author ruoyi
 * @date 2021-09-01
 */
public class Itinerary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private List<ItineraryMiddle> itineraryMiddles;

    //TODO 机票订单 酒店订单 贵宾厅订单
    //机票订单

    //酒店订单

    //贵宾厅订单
    private List<OrderViphallApi> orderViphallApiList;

    private List<ViphallApi> viphallApiList;

    private List<OrderVipchannelApi> orderVipchannelApiList;

    private List<VipchannelApi> vipchannelApiList;

    private List<ViphallAttachmentApi> viphallAttachmentApiList;

    private List<FlightOrderInfoTicketsApi> flightOrderInfoTicketsApiList;

    public List<FlightOrderInfoTicketsApi> getFlightOrderInfoTicketsApiList() {
        return flightOrderInfoTicketsApiList;
    }

    public void setFlightOrderInfoTicketsApiList(List<FlightOrderInfoTicketsApi> flightOrderInfoTicketsApiList) {
        this.flightOrderInfoTicketsApiList = flightOrderInfoTicketsApiList;
    }

    public List<ViphallAttachmentApi> getViphallAttachmentApiList() {
        return viphallAttachmentApiList;
    }

    public void setViphallAttachmentApiList(List<ViphallAttachmentApi> viphallAttachmentApiList) {
        this.viphallAttachmentApiList = viphallAttachmentApiList;
    }

    public List<VipchannelApi> getVipchannelApiList() {
        return vipchannelApiList;
    }

    public void setVipchannelApiList(List<VipchannelApi> vipchannelApiList) {
        this.vipchannelApiList = vipchannelApiList;
    }

    public List<OrderVipchannelApi> getOrderVipchannelApiList() {
        return orderVipchannelApiList;
    }

    public void setOrderVipchannelApiList(List<OrderVipchannelApi> orderVipchannelApiList) {
        this.orderVipchannelApiList = orderVipchannelApiList;
    }

    public List<ViphallApi> getViphallApiList() {
        return viphallApiList;
    }

    public void setViphallApiList(List<ViphallApi> viphallApiList) {
        this.viphallApiList = viphallApiList;
    }

    public List<OrderViphallApi> getOrderViphallApiList() {
        return orderViphallApiList;
    }

    public void setOrderViphallApiList(List<OrderViphallApi> orderViphallApiList) {
        this.orderViphallApiList = orderViphallApiList;
    }

    public List<ItineraryMiddle> getItineraryMiddles() {
        return itineraryMiddles;
    }

    public void setItineraryMiddles(List<ItineraryMiddle> itineraryMiddles) {
        this.itineraryMiddles = itineraryMiddles;
    }

    /** 行程定制id */
    private Long itineraryCustomizeId;

    /** 出发时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出发时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date departureTime;

    /** 出发地点 */
    @Excel(name = "出发地点")
    private String departurePoint;

    /** 出发地经纬度 */
    @Excel(name = "出发地经纬度")
    private String departureLatitudeLongitude;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 目的地经纬度 */
    @Excel(name = "目的地经纬度")
    private String destinationLatitudeLongitude;

    /** 到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date destinationTime;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contact;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 会员id */
    @Excel(name = "会员id")
    private Long customerId;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNumber;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String ordersState;

    /** 应付金额 */
    @Excel(name = "应付金额")
    private BigDecimal copeAmount;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private BigDecimal actualAmount;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 行程评分 */
    @Excel(name = "行程评分")
    private String itineraryAppraise;

    /** 行程评价内容 */
    @Excel(name = "行程评价内容")
    private String itineraryAppraiseContent;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private String isDeletes;

    /** 送机服务评价 */
    @Excel(name = "送机服务评价")
    private String dropOff;

    /** 贵宾厅/餐厅评价 */
    @Excel(name = "贵宾厅/餐厅评价")
    private String vipRoom;

    /** 航班服务评价 */
    @Excel(name = "航班服务评价")
    private String flight;

    /** 接机服务评价 */
    @Excel(name = "接机服务评价")
    private String pickUp;

    /** 是否匿名 */
    @Excel(name = "是否匿名")
    private String anonymous;

    public String getDropOff() {
        return dropOff;
    }

    public void setDropOff(String dropOff) {
        this.dropOff = dropOff;
    }

    public String getVipRoom() {
        return vipRoom;
    }

    public void setVipRoom(String vipRoom) {
        this.vipRoom = vipRoom;
    }

    public String getFlight() {
        return flight;
    }

    public void setFlight(String flight) {
        this.flight = flight;
    }

    public String getPickUp() {
        return pickUp;
    }

    public void setPickUp(String pickUp) {
        this.pickUp = pickUp;
    }

    public String getAnonymous() {
        return anonymous;
    }

    public void setAnonymous(String anonymous) {
        this.anonymous = anonymous;
    }

    public String getIsDeletes() {
        return isDeletes;
    }

    public void setIsDeletes(String isDeletes) {
        this.isDeletes = isDeletes;
    }

    public Date getDestinationTime() {
        return destinationTime;
    }

    public void setDestinationTime(Date destinationTime) {
        this.destinationTime = destinationTime;
    }

    public String getItineraryAppraise() {
        return itineraryAppraise;
    }

    public void setItineraryAppraise(String itineraryAppraise) {
        this.itineraryAppraise = itineraryAppraise;
    }

    public String getItineraryAppraiseContent() {
        return itineraryAppraiseContent;
    }

    public void setItineraryAppraiseContent(String itineraryAppraiseContent) {
        this.itineraryAppraiseContent = itineraryAppraiseContent;
    }

    public Long getItineraryCustomizeId() {
        return itineraryCustomizeId;
    }

    public void setItineraryCustomizeId(Long itineraryCustomizeId) {
        this.itineraryCustomizeId = itineraryCustomizeId;
    }

    public void setDepartureTime(Date departureTime)
    {
        this.departureTime = departureTime;
    }

    public Date getDepartureTime() 
    {
        return departureTime;
    }
    public void setDeparturePoint(String departurePoint) 
    {
        this.departurePoint = departurePoint;
    }

    public String getDeparturePoint() 
    {
        return departurePoint;
    }
    public void setDepartureLatitudeLongitude(String departureLatitudeLongitude) 
    {
        this.departureLatitudeLongitude = departureLatitudeLongitude;
    }

    public String getDepartureLatitudeLongitude() 
    {
        return departureLatitudeLongitude;
    }
    public void setDestination(String destination) 
    {
        this.destination = destination;
    }

    public String getDestination() 
    {
        return destination;
    }
    public void setDestinationLatitudeLongitude(String destinationLatitudeLongitude) 
    {
        this.destinationLatitudeLongitude = destinationLatitudeLongitude;
    }

    public String getDestinationLatitudeLongitude() 
    {
        return destinationLatitudeLongitude;
    }
    public void setContact(String contact) 
    {
        this.contact = contact;
    }

    public String getContact() 
    {
        return contact;
    }
    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public void setCardNumber(String cardNumber)
    {
        this.cardNumber = cardNumber;
    }

    public String getCardNumber() 
    {
        return cardNumber;
    }
    public void setOrdersState(String ordersState) 
    {
        this.ordersState = ordersState;
    }

    public String getOrdersState() 
    {
        return ordersState;
    }
    public void setCopeAmount(BigDecimal copeAmount) 
    {
        this.copeAmount = copeAmount;
    }

    public BigDecimal getCopeAmount() 
    {
        return copeAmount;
    }
    public void setActualAmount(BigDecimal actualAmount) 
    {
        this.actualAmount = actualAmount;
    }

    public BigDecimal getActualAmount() 
    {
        return actualAmount;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("itineraryCustomizeId", getItineraryCustomizeId())
            .append("departureTime", getDepartureTime())
            .append("departurePoint", getDeparturePoint())
            .append("departureLatitudeLongitude", getDepartureLatitudeLongitude())
            .append("destination", getDestination())
            .append("destinationLatitudeLongitude", getDestinationLatitudeLongitude())
            .append("contact", getContact())
            .append("contactPhone", getContactPhone())
            .append("customerId", getCustomerId())
            .append("cardNumber", getCardNumber())
            .append("ordersState", getOrdersState())
            .append("copeAmount", getCopeAmount())
            .append("actualAmount", getActualAmount())
            .append("payTime", getPayTime())
            .append("finishTime", getFinishTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("itineraryAppraise", getItineraryAppraise())
            .append("itineraryAppraiseContent", getItineraryAppraiseContent())
            .toString();
    }
}
